home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Graphics / Converters / ImageConverter / ImageConverter.app / English.lproj / HelpPanel.nib / data.nib (.txt) < prev    next >
Encoding:
NeXT TypedStream Data  |  1995-06-12  |  60.3 KB  |  1,247 lines

  1. streamtyped
  2. IBObjectData
  3. Object
  4. CustomObject
  5. Controller
  6.     TextField
  7. Control
  8.     Responder
  9. ScrollView
  10. ClipView
  11. ciifffcfffs
  12. [60167c]rtfd
  13. paste.eps
  14. 386029_paste.eps
  15. 325360_paste.eps
  16. %!PS-Adobe-2.0 EPSF-2.0
  17. %%Title: 
  18. %%Creator: Diagram
  19. %%CreationDate: Tue Jan 24 01:20:47 1995
  20. %%For: varun
  21. %%DocumentFonts: (atend)
  22. %%Pages: 0 0
  23. %%BoundingBox: 0 0 315 72
  24. %%NXNextStepVersion: 3.0
  25. %%EndComments
  26. %%BeginProcSet: /usr/lib/NextStep/printPackage.ps 3.0
  27. % NeXT Printing Package
  28. % Version: 3.1
  29. % Copyright: 1988, NeXT, Inc.
  30. /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def
  31. /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def
  32. /UserObjects 10 array __NXdef
  33. /defineuserobject{
  34.     exch dup 1 add dup UserObjects length gt{
  35.         array dup 0 UserObjects putinterval
  36.         /UserObjects exch def
  37.     }{pop}ifelse UserObjects exch 3 -1 roll put
  38. }__NXbdef
  39. /undefineuserobject{UserObjects exch null put}__NXbdef
  40. /execuserobject{UserObjects exch get exec}__NXbdef
  41. /__NXRectPath{4 2 roll moveto 1 index 0 rlineto
  42. 0 exch rlineto neg 0 rlineto closepath}__NXbdef
  43. /__NXProcessRectArgs{
  44.     1 index type /arraytype eq{
  45.         exch 0 4 2 index length 1 sub{
  46.             dup 3 add 1 exch{1 index exch get exch}for
  47.             5 1 roll 5 index exec
  48.         }for pop pop
  49.     }{exec}ifelse
  50. }__NXbdef
  51. /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef
  52. /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef
  53. /rectstroke{
  54.     gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{
  55.         {gsave __NXRectPath null concat stroke grestore}
  56.         dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs
  57.     }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore
  58. }__NXbdef
  59. /_NXLevel2 systemdict /languagelevel known {languagelevel 2 ge}{false}ifelse __NXdef
  60. /xyshow{
  61.     0 1 3 index length 1 sub{
  62.         currentpoint 4 index 3 index 1 getinterval show
  63.         3 index 3 index 2 mul 1 add get add exch
  64.         3 index    3 index 2 mul get add exch moveto pop
  65.     }for pop pop
  66. }__NXbdef
  67. /xshow{
  68.     0 1 3 index length 1 sub{
  69.         currentpoint 4 index 3 index 1 getinterval show
  70.         exch 3 index 3 index get add exch moveto pop
  71.     }for pop pop
  72. }__NXbdef
  73. /yshow{
  74.     0 1 3 index length 1 sub{
  75.         currentpoint 4 index 3 index 1 getinterval show
  76.         3 index 3 index get add moveto pop
  77.     }for pop pop
  78. }__NXbdef
  79. /arct{arcto pop pop pop pop}__NXbdef
  80. /setbbox{pop pop pop pop}__NXbdef
  81. /ucache{}__NXbdef
  82. /ucachestatus{mark 0 0 0 0 0}__NXbdef
  83. /setucacheparams{cleartomark}__NXbdef
  84. /uappend{systemdict begin cvx exec end}__NXbdef
  85. /ueofill{gsave newpath uappend eofill grestore}__NXbdef
  86. /ufill{gsave newpath uappend fill grestore}__NXbdef
  87. /ustroke{
  88.     gsave newpath dup length 6 eq
  89.     {exch uappend concat}{uappend}ifelse
  90.     stroke grestore
  91. }__NXbdef
  92. /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse
  93. /ustrokepath{
  94.     newpath dup length 6 eq{
  95.         exch uappend __NXustrokepathMatrix currentmatrix exch concat
  96.         strokepath setmatrix
  97.     }{uappend strokepath}ifelse
  98. } __NXbdef
  99. /upath{
  100.     [exch {/ucache cvx}if pathbbox /setbbox cvx
  101.      {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx
  102. } __NXbdef
  103. /setstrokeadjust{pop}__NXbdef
  104. /currentstrokeadjust{false}__NXbdef
  105. /selectfont{exch findfont exch
  106. dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef
  107. /_NXCombineArrays{
  108.     counttomark dup 2 add index dup length 3 -1 roll {
  109.         2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch
  110.     }repeat pop pop pop
  111. }__NXbdef
  112. /flushgraphics{}def
  113. /setwindowtype{pop pop}def
  114. /currentwindowtype{pop 0}def
  115. /setalpha{pop}def
  116. /currentalpha{1.0}def
  117. /hidecursor{}def
  118. /obscurecursor{}def
  119. /revealcursor{}def
  120. /setcursor{4 {pop}repeat}bind def
  121. /showcursor{}def
  122. /NextStepEncoding where not{
  123. /NextStepEncoding StandardEncoding 256 array copy def
  124. 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave
  125. /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
  126. /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute
  127. /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright
  128. 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior
  129. 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave
  130. /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute
  131. /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth
  132. /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute
  133. /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis]
  134. {dup type /nametype eq
  135.  {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse
  136. }forall pop
  137. /NextStepEncoding NextStepEncoding readonly def
  138. /_NXfstr 128 string dup 0 (_NX) putinterval def
  139. /_NXfindfont /findfont load def
  140. /findfont{
  141.  % Because we can never let NextStepEncoding get into
  142.  % SharedFontDirectory, we cannot reencode a font to NextStepEncoding
  143.  % if we are in shared mode.  So if currentshared is true,
  144.  % we call the normal findfont and return that
  145.  /currentshared where {pop currentshared} {false} ifelse
  146.  {_NXfindfont}
  147.  {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll
  148.   getinterval cvn exch FontDirectory 2 index known 
  149.   {pop FontDirectory exch get}
  150.   {_NXfindfont dup /Encoding get StandardEncoding eq
  151.    {    dup length dict exch
  152.     {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall
  153.      dup /Encoding NextStepEncoding put definefont
  154.     }{exch pop} ifelse
  155.    }ifelse
  156.  }ifelse
  157. }bind def
  158. }{pop}ifelse
  159. /_NXImageString {/__NXImageString where{pop}{/__NXImageString 4000 string __NXdef}ifelse __NXImageString}__NXbdef
  160. /_NXDoImageOp{
  161.     3 dict begin /parr 5 array def 1 index{dup}{1}ifelse /chans exch def
  162.     chans 2 add 2 roll parr 0 chans getinterval astore pop
  163.     5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse
  164.     4 index mul /totbytes exch def pop exch pop
  165.     gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore
  166.     {0 1 chans 1 sub{parr exch get exec length totbytes exch sub /totbytes exch def}for totbytes 0 le{exit}if}loop end
  167. }__NXbdef
  168. /alphaimage{1 add _NXDoImageOp}def
  169. _NXLevel2{ 
  170.     /NXCalibratedRGBColorSpace where{pop}{
  171.         /NXCalibratedRGBColorSpace
  172.         {mark /NXCalibratedRGB /ColorSpace findresource exch pop}stopped
  173.         {cleartomark /NXCalibratedRGB[/CIEBasedABC 2 dict dup begin 
  174.         /MatrixLMN[.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505]def
  175.         /WhitePoint[.9505 1 1.089] def end] /ColorSpace defineresource}if def}ifelse
  176.     /nxsetrgbcolor{NXCalibratedRGBColorSpace setcolorspace setcolor}__NXbdef
  177.     /nxsetgray{dup dup nxsetrgbcolor}__NXbdef
  178.     /_NXCalibratedImage{exch{array astore dup length true}{false}ifelse
  179.         8 -1 roll{NXCalibratedRGBColorSpace setcolorspace}if
  180.         8 dict dup 9 1 roll begin /ImageType 1 def /MultipleDataSources exch def
  181.         currentcolorspace 0 get /Indexed eq{pop /Decode[0 2 6 index exp 1 sub]def}
  182.         {2 mul dup array /Decode exch def 1 sub 0 1 3 -1 roll{Decode exch dup 2 mod put}for}ifelse
  183.         /DataSource exch def /ImageMatrix exch def 
  184.         /BitsPerComponent exch def /Height exch def /Width exch def end image}__NXbdef
  185.     /setcmykcolor{
  186.         1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll
  187.         4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor}__NXbdef
  188.     /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef
  189.     /colorimage{2 copy 3 ne or{_NXDoImageOp}{4 index dup 8 ne exch 4 ne and{_NXDoImageOp}{
  190.         pop pop save 6 1 roll 12 dict begin/Proc exch def/Res 0 string def
  191.         /Alloc{2 index length mul 2 add dup 2 index load length gt{1.2 mul round cvi string def}{pop pop}ifelse}def
  192.         1 index 8 eq{/Unpack{.34 Alloc}def}{
  193.             /Wid 4 index 3 mul def exch pop 8 exch/Str1 0 string def/Lim Wid def
  194.             /Unpack{.67 Alloc/Str1 2 Alloc 0 exch Lim exch
  195.                 {dup -4 bitshift 17 mul Str1 exch 4 index exch put 15 and 17 mul Str1 exch 3 index 1 add exch put
  196.                 2 sub dup 0 le{0 lt Wid exch{exch 1 sub exch}if}if exch 2 add exch
  197.                 }forall/Lim exch def Str1 exch 0 exch getinterval
  198.             }def
  199.         }ifelse
  200.         /Ops[{.3 mul add 1}{.59 mul add 2}{.11 mul add round cvi Res exch 2 index exch put 1 add 0.0 0}]def/Val 0.0 def/Phase 0 def
  201.         {0 Val Phase Proc/Res Unpack{exch Ops exch get exec}forall/Phase exch def/Val exch def Res exch 0 exch getinterval}
  202.         image end restore}ifelse}ifelse
  203.     }__NXbdef
  204.     /nxsetrgbcolor{setrgbcolor}__NXbdef /nxsetgray{setgray}__NXbdef
  205.     /setpattern{pop .5 setgray}__NXbdef
  206.     /_NXCalibratedImage{dup 1 eq {pop pop image}{colorimage}ifelse pop}__NXbdef
  207. } ifelse
  208. /_NXSetCMYKOrRGB where{pop}{
  209.     mark{systemdict /currentwindow get exec}stopped
  210.     {{pop pop pop setcmykcolor}}{{nxsetrgbcolor pop pop pop pop}}ifelse /_NXSetCMYKOrRGB exch def cleartomark
  211. }ifelse
  212. %%EndProcSet
  213. gsave
  214.  /__NXbasematrix matrix currentmatrix def
  215. grestore
  216. %%EndProlog
  217. %%BeginSetup
  218. %%EndSetup
  219. 0 0 315 72 rectclip
  220. [1 0 0 -1 -27 225] concat
  221. 27 153 315 72 rectclip
  222. 0.666707 nxsetgray
  223. 190 190 16 16 rectfill
  224. gsave
  225. 189 189 18 18 rectclip
  226. 0 nxsetgray
  227. 1 setlinewidth
  228. 189.5 189.5 17 17 rectstroke
  229. grestore
  230. 0.666707 nxsetgray
  231. 208 190 16 16 rectfill
  232. gsave
  233. 207 189 18 18 rectclip
  234. 0 nxsetgray
  235. 1 setlinewidth
  236. 207.5 189.5 17 17 rectstroke
  237. grestore
  238. 0.666707 nxsetgray
  239. 226 190 16 16 rectfill
  240. gsave
  241. 225 189 18 18 rectclip
  242. 0 nxsetgray
  243. 1 setlinewidth
  244. 225.5 189.5 17 17 rectstroke
  245. grestore
  246. 0.666707 nxsetgray
  247. 244 190 16 16 rectfill
  248. gsave
  249. 243 189 18 18 rectclip
  250. 0 nxsetgray
  251. 1 setlinewidth
  252. 243.5 189.5 17 17 rectstroke
  253. grestore
  254. 0.666707 nxsetgray
  255. 262 190 16 16 rectfill
  256. gsave
  257. 261 189 18 18 rectclip
  258. 0 nxsetgray
  259. 1 setlinewidth
  260. 261.5 189.5 17 17 rectstroke
  261. grestore
  262. 0.666707 nxsetgray
  263. 280 190 16 16 rectfill
  264. gsave
  265. 279 189 18 18 rectclip
  266. 0 nxsetgray
  267. 1 setlinewidth
  268. 279.5 189.5 17 17 rectstroke
  269. grestore
  270. 0.666707 nxsetgray
  271. 298 190 16 16 rectfill
  272. gsave
  273. 297 189 18 18 rectclip
  274. 0 nxsetgray
  275. 1 setlinewidth
  276. 297.5 189.5 17 17 rectstroke
  277. grestore
  278. 0.666707 nxsetgray
  279. 316 190 16 16 rectfill
  280. gsave
  281. 315 189 18 18 rectclip
  282. 0 nxsetgray
  283. 1 setlinewidth
  284. 315.5 189.5 17 17 rectstroke
  285. grestore
  286. 1 nxsetgray
  287. 28 190 16 16 rectfill
  288. gsave
  289. 27 189 18 18 rectclip
  290. 0 nxsetgray
  291. 1 setlinewidth
  292. 27.5 189.5 17 17 rectstroke
  293. grestore
  294. 1 nxsetgray
  295. 46 190 16 16 rectfill
  296. gsave
  297. 45 189 18 18 rectclip
  298. 0 nxsetgray
  299. 1 setlinewidth
  300. 45.5 189.5 17 17 rectstroke
  301. grestore
  302. 1 nxsetgray
  303. 64 190 16 16 rectfill
  304. gsave
  305. 63 189 18 18 rectclip
  306. 0 nxsetgray
  307. 1 setlinewidth
  308. 63.5 189.5 17 17 rectstroke
  309. grestore
  310. 1 nxsetgray
  311. 82 190 16 16 rectfill
  312. gsave
  313. 81 189 18 18 rectclip
  314. 0 nxsetgray
  315. 1 setlinewidth
  316. 81.5 189.5 17 17 rectstroke
  317. grestore
  318. 0.666707 nxsetgray
  319. 100 190 16 16 rectfill
  320. gsave
  321. 99 189 18 18 rectclip
  322. 0 nxsetgray
  323. 1 setlinewidth
  324. 99.5 189.5 17 17 rectstroke
  325. grestore
  326. 0.666707 nxsetgray
  327. 118 190 16 16 rectfill
  328. gsave
  329. 117 189 18 18 rectclip
  330. 0 nxsetgray
  331. 1 setlinewidth
  332. 117.5 189.5 17 17 rectstroke
  333. grestore
  334. 0.666707 nxsetgray
  335. 136 190 16 16 rectfill
  336. gsave
  337. 135 189 18 18 rectclip
  338. 0 nxsetgray
  339. 1 setlinewidth
  340. 135.5 189.5 17 17 rectstroke
  341. grestore
  342. 0.666707 nxsetgray
  343. 154 190 16 16 rectfill
  344. gsave
  345. 153 189 18 18 rectclip
  346. 0 nxsetgray
  347. 1 setlinewidth
  348. 153.5 189.5 17 17 rectstroke
  349. grestore
  350. gsave
  351. [0 -1 1 0 36 396] concat
  352. [1 0 0 -1 0 360] concat
  353. gsave
  354. 207 54 18 252 rectclip
  355. gsave
  356. 1 -1 scale
  357. gsave
  358. 207 -306 translate
  359. 0.580645 1.826087 scale
  360. 3 5 translate
  361. /__NXEPSSave save def /showpage {} def
  362. _NXLevel2{/_NXsethsb where{pop}{/_NXsethsb /sethsbcolor load def}ifelse /sethsbcolor{_NXsethsb currentrgbcolor nxsetrgbcolor}def /setrgbcolor{nxsetrgbcolor}bind def /setgray{nxsetgray}bind def
  363. /_NXcimage where{pop}{/_NXcimage /colorimage load def}ifelse /colorimage{dup 3 eq{true 2 index{1 index}{1}ifelse 7 add 1 roll _NXCalibratedImage}{_NXcimage}ifelse}def}if
  364. 0 setgray 0 setlinecap 1 setlinewidth
  365. 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def
  366. %%BeginDocument: 
  367. %!PS-Adobe-2.0 EPSF-2.0
  368. %%Title: rightbrace.eps
  369. %%Creator: Diagram, Jonathan Schwartz and Rob Kedoin
  370. %%CreationDate: Thu Dec 13 15:40:41 1990
  371. %%For: jis
  372. %%DocumentFonts: (atend)
  373. %%Pages: 0 1
  374. %%BoundingBox: -3 -5 28 133
  375. %%EndComments
  376. gsave
  377. -20 -28 translate
  378.  /__NXbasematrix matrix currentmatrix def
  379. grestore
  380. %%EndProlog
  381. %%BeginSetup
  382. /DIAGRAMline {
  383.     moveto rlineto stroke
  384. } def /DIAGRAMarrow {
  385.     [] 0 setdash newpath moveto dup rotate 0 currentlinewidth sub 1.2 mul 0 rmoveto -9 3 rlineto 2 -3 rlineto -2 -3 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate
  386. } def /DIAGRAMpreparelines {
  387.     /DIAGRAMlinetype exch def setlinewidth setrgbcolor 2 setlinejoin DIAGRAMlinetype 0 eq {
  388.         [] 0 setdash
  389.     } if DIAGRAMlinetype 1 eq {
  390.         [ 5 currentlinewidth add dup ] 0 currentlinewidth add setdash
  391.     } if DIAGRAMlinetype 2 eq {
  392.         [ 0 currentlinewidth add 5 currentlinewidth add ] 0 currentlinewidth add setdash
  393.     } if DIAGRAMlinetype 3 eq {
  394.         [ 5 currentlinewidth add 4 currentlinewidth add 0 currentlinewidth add 4 currentlinewidth add ] 0 currentlinewidth add setdash
  395.     } if
  396. } def
  397. %%EndSetup
  398. gsave
  399. -2.492157 -5 30 138 rectclip
  400. gsave
  401. gsave
  402. 0 0 0 0.15 0 DIAGRAMpreparelines
  403. gsave
  404. newpath
  405. systemdict
  406. begin
  407. 3.507843 1 21.507843 64 setbbox
  408. 3.507843 1 moveto
  409. 7.503843 1.1998 11.508843 1.4086 12.507843 10 curveto
  410. 13.506843 18.5914 11.508842 35.610397 12.507843 46 curveto
  411. 13.506844 56.389603 17.511843 60.2038 21.507843 64 curveto
  412. stroke
  413. grestore
  414. grestore
  415. gsave
  416. 0 0 0 0.15 0 DIAGRAMpreparelines
  417. gsave
  418. newpath
  419. systemdict
  420. begin
  421. 3.507843 64 21.507843 127 setbbox
  422. 21.507843 64 moveto
  423. 17.511843 67.796204 13.506843 71.610397 12.507843 82 curveto
  424. 11.508843 92.389603 13.506844 109.4086 12.507843 118 curveto
  425. 11.508842 126.5914 7.503843 126.800201 3.507843 127 curveto
  426. stroke
  427. grestore
  428. grestore
  429. grestore
  430. gsave
  431. 0 0 576 756 rectclip
  432. [1 0 0 -1 0 756] concat
  433. grestore
  434. grestore
  435. %%Trailer
  436. %%EndDocument
  437. count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore
  438. grestore
  439. grestore
  440. grestore
  441. grestore
  442. gsave
  443. /Helvetica-Bold findfont 10 scalefont [1 0 0 -1 0 0] makefont
  444. defineuserobject
  445. 123 execuserobject setfont
  446. 0 nxsetgray
  447. /Helvetica findfont 12 scalefont [1 0 0 -1 0 0] makefont
  448. defineuserobject
  449. 12 execuserobject setfont
  450. 0 nxsetgray
  451. 184 166 moveto (Image Data) show
  452. grestore
  453. gsave
  454. 12 execuserobject setfont
  455. 0 nxsetgray
  456. 123 execuserobject setfont
  457. 0 nxsetgray
  458. 208 218 moveto (Least Significant Byte) show
  459. grestore
  460. gsave
  461. 123 execuserobject setfont
  462. 0 nxsetgray
  463. 123 execuserobject setfont
  464. 0 nxsetgray
  465. 48 218 moveto (Most Significant Byte) show
  466. grestore
  467. %%Trailer
  468. %%DocumentFonts: Helvetica-Bold
  469. %%+ Helvetica
  470. {\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;}
  471. \margl140
  472. \margr40
  473. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 \
  474. \b\fs36 Introduction\
  475. \b0\fs24 ImageConverter is a NEXTSTEP program designed for converting 12 bit grayscale radiographic images into TIFF format.  Radiology has standardized on a 12 bit per pixel (4096 grayscale) format for storing images.  For digitized X-Rays, this insures that as much of the original detail of the film is contained in the digital image, and for computed tomography studies, the original Hounsfield values (ranging from -1000 to +3000) are preserved.\
  476. ImageConverter will convert any ACR/NEMA 2.0 or DICOM 3.0 image into TIFF.  Many of these images have proprietary headers.  ImageConverter ignores the header, and the user interactively creates a new header for the image using an easy to use graphical interface.\
  477. \b\fs36 Image Format\
  478. \b0\fs24 Radiographic images are 12 bits per pixel, or 1.5 bytes per pixel.  However, pixels must fall within byte boundaries.  Therefore, 16 bits, or two bytes, are used for each pixel, and the highest 4 bits are discarded.\
  479. {{\NeXTGraphic954 paste.eps \width6300 \height1440
  480. }\pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 \
  481. Depending on the architecture of your computer (Big Endian vs. Little Endian), the two bytes of each pixel are stored either with the Most Significant Byte (MSB) first or with the Least Significant Byte (LSB) first.\
  482. \b BigEndian vs. LittleEndian:
  483. \b0 \
  484. {{\NeXTGraphic1204 386029_paste.eps \width6120 \height720
  485. }\pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 \
  486.     vs.\
  487. {{\NeXTGraphic1213 325360_paste.eps \width6120 \height720
  488. }\pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 \
  489. ImageConverter allows the user to determine byte ordering with two radio buttons that alternately swap or don't swap byte pairs.\
  490. \b Headers
  491. \b0 \
  492. Different images have different length headers, depending on the format and vendor specific information.  ImageConverter initially sets the size of the header to 0 bytes.  The user has the option to specify the number of bytes to offset from the beginning of the file to the location where the image actually begins.\
  493. \b Resolution:
  494. \b0 \
  495. The user must enter the width of the image in pixels.  ImageConverter calculates the height of the image automatically from the width and the size of the file.\
  496. \b Beightness and Contrast:\
  497. \b0  From the 12 bpp image, ImageConverter creates an 8 bpp TIFF image.  The user specifies the brightness and contrast values that best show the image.  After graphically manipulating the Brightness and Contrast sliders, the user must press the 
  498. \i Display
  499. \i0  button to update the image.\
  500. \b\fs36 Saving Images:\
  501. \b0\fs24 Images can be saved to standard TIFF format for use in other programs.  The 
  502. \i Save To Tiff
  503. \i0  menu option freezes the image to TIFF with the current contrast, brightness, and scale.\
  504. The image on screen is an exact representation of the TIFF file that will be created.  Irrespective of your conputer's screen color mode, ImageConverter always displays the image in 8 bpp grayscale.  Thus, the program will run much faster when the color mode of the screen allows the image to be displayed without any dithering (ie. wien running in 8 bit grayscale or 24 bit color mode).  Running NEXTSTEP in 12 bit color or 2 bit grayscale gives much slower performance, though the final image is not affected.\
  505. \b\fs36 Future Plans:\
  506. \b0\fs24\fi-340\li360 - Improved contrast and brightness controls to allow non-linear window levels\
  507. - Store and load preset LookUpTables (LUT) for different types of images such as plain film, CT, and MRI.\
  508. - Automatically interpret DICOM 3.0 headers\
  509. - Tools for cropping, edge-enhancement, and other features\
  510. - A text window that allows the user to inspect the header of the original image\
  511. \b\fs36\fi0\li0 Contact Information:\
  512. \b0\fs24 \
  513. Varun Mitroo, MD\
  514. Department of Radiology\
  515. Ohio State University Hospital\
  516. 110 West 10th Avenue\
  517. Columbus, OH  43210\
  518. mitroo@magnus.acs.ohio-state.edu
  519. %!PS-Adobe-2.0 EPSF-2.0
  520. %%Title: 
  521. %%Creator: Diagram
  522. %%CreationDate: Tue Jan 24 01:31:48 1995
  523. %%For: varun
  524. %%DocumentFonts: (atend)
  525. %%Pages: 0 0
  526. %%BoundingBox: 0 0 306 36
  527. %%NXNextStepVersion: 3.0
  528. %%EndComments
  529. %%BeginProcSet: /usr/lib/NextStep/printPackage.ps 3.0
  530. % NeXT Printing Package
  531. % Version: 3.1
  532. % Copyright: 1988, NeXT, Inc.
  533. /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def
  534. /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def
  535. /UserObjects 10 array __NXdef
  536. /defineuserobject{
  537.     exch dup 1 add dup UserObjects length gt{
  538.         array dup 0 UserObjects putinterval
  539.         /UserObjects exch def
  540.     }{pop}ifelse UserObjects exch 3 -1 roll put
  541. }__NXbdef
  542. /undefineuserobject{UserObjects exch null put}__NXbdef
  543. /execuserobject{UserObjects exch get exec}__NXbdef
  544. /__NXRectPath{4 2 roll moveto 1 index 0 rlineto
  545. 0 exch rlineto neg 0 rlineto closepath}__NXbdef
  546. /__NXProcessRectArgs{
  547.     1 index type /arraytype eq{
  548.         exch 0 4 2 index length 1 sub{
  549.             dup 3 add 1 exch{1 index exch get exch}for
  550.             5 1 roll 5 index exec
  551.         }for pop pop
  552.     }{exec}ifelse
  553. }__NXbdef
  554. /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef
  555. /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef
  556. /rectstroke{
  557.     gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{
  558.         {gsave __NXRectPath null concat stroke grestore}
  559.         dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs
  560.     }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore
  561. }__NXbdef
  562. /_NXLevel2 systemdict /languagelevel known {languagelevel 2 ge}{false}ifelse __NXdef
  563. /xyshow{
  564.     0 1 3 index length 1 sub{
  565.         currentpoint 4 index 3 index 1 getinterval show
  566.         3 index 3 index 2 mul 1 add get add exch
  567.         3 index    3 index 2 mul get add exch moveto pop
  568.     }for pop pop
  569. }__NXbdef
  570. /xshow{
  571.     0 1 3 index length 1 sub{
  572.         currentpoint 4 index 3 index 1 getinterval show
  573.         exch 3 index 3 index get add exch moveto pop
  574.     }for pop pop
  575. }__NXbdef
  576. /yshow{
  577.     0 1 3 index length 1 sub{
  578.         currentpoint 4 index 3 index 1 getinterval show
  579.         3 index 3 index get add moveto pop
  580.     }for pop pop
  581. }__NXbdef
  582. /arct{arcto pop pop pop pop}__NXbdef
  583. /setbbox{pop pop pop pop}__NXbdef
  584. /ucache{}__NXbdef
  585. /ucachestatus{mark 0 0 0 0 0}__NXbdef
  586. /setucacheparams{cleartomark}__NXbdef
  587. /uappend{systemdict begin cvx exec end}__NXbdef
  588. /ueofill{gsave newpath uappend eofill grestore}__NXbdef
  589. /ufill{gsave newpath uappend fill grestore}__NXbdef
  590. /ustroke{
  591.     gsave newpath dup length 6 eq
  592.     {exch uappend concat}{uappend}ifelse
  593.     stroke grestore
  594. }__NXbdef
  595. /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse
  596. /ustrokepath{
  597.     newpath dup length 6 eq{
  598.         exch uappend __NXustrokepathMatrix currentmatrix exch concat
  599.         strokepath setmatrix
  600.     }{uappend strokepath}ifelse
  601. } __NXbdef
  602. /upath{
  603.     [exch {/ucache cvx}if pathbbox /setbbox cvx
  604.      {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx
  605. } __NXbdef
  606. /setstrokeadjust{pop}__NXbdef
  607. /currentstrokeadjust{false}__NXbdef
  608. /selectfont{exch findfont exch
  609. dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef
  610. /_NXCombineArrays{
  611.     counttomark dup 2 add index dup length 3 -1 roll {
  612.         2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch
  613.     }repeat pop pop pop
  614. }__NXbdef
  615. /flushgraphics{}def
  616. /setwindowtype{pop pop}def
  617. /currentwindowtype{pop 0}def
  618. /setalpha{pop}def
  619. /currentalpha{1.0}def
  620. /hidecursor{}def
  621. /obscurecursor{}def
  622. /revealcursor{}def
  623. /setcursor{4 {pop}repeat}bind def
  624. /showcursor{}def
  625. /NextStepEncoding where not{
  626. /NextStepEncoding StandardEncoding 256 array copy def
  627. 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave
  628. /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
  629. /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute
  630. /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright
  631. 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior
  632. 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave
  633. /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute
  634. /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth
  635. /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute
  636. /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis]
  637. {dup type /nametype eq
  638.  {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse
  639. }forall pop
  640. /NextStepEncoding NextStepEncoding readonly def
  641. /_NXfstr 128 string dup 0 (_NX) putinterval def
  642. /_NXfindfont /findfont load def
  643. /findfont{
  644.  % Because we can never let NextStepEncoding get into
  645.  % SharedFontDirectory, we cannot reencode a font to NextStepEncoding
  646.  % if we are in shared mode.  So if currentshared is true,
  647.  % we call the normal findfont and return that
  648.  /currentshared where {pop currentshared} {false} ifelse
  649.  {_NXfindfont}
  650.  {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll
  651.   getinterval cvn exch FontDirectory 2 index known 
  652.   {pop FontDirectory exch get}
  653.   {_NXfindfont dup /Encoding get StandardEncoding eq
  654.    {    dup length dict exch
  655.     {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall
  656.      dup /Encoding NextStepEncoding put definefont
  657.     }{exch pop} ifelse
  658.    }ifelse
  659.  }ifelse
  660. }bind def
  661. }{pop}ifelse
  662. /_NXImageString {/__NXImageString where{pop}{/__NXImageString 4000 string __NXdef}ifelse __NXImageString}__NXbdef
  663. /_NXDoImageOp{
  664.     3 dict begin /parr 5 array def 1 index{dup}{1}ifelse /chans exch def
  665.     chans 2 add 2 roll parr 0 chans getinterval astore pop
  666.     5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse
  667.     4 index mul /totbytes exch def pop exch pop
  668.     gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore
  669.     {0 1 chans 1 sub{parr exch get exec length totbytes exch sub /totbytes exch def}for totbytes 0 le{exit}if}loop end
  670. }__NXbdef
  671. /alphaimage{1 add _NXDoImageOp}def
  672. _NXLevel2{ 
  673.     /NXCalibratedRGBColorSpace where{pop}{
  674.         /NXCalibratedRGBColorSpace
  675.         {mark /NXCalibratedRGB /ColorSpace findresource exch pop}stopped
  676.         {cleartomark /NXCalibratedRGB[/CIEBasedABC 2 dict dup begin 
  677.         /MatrixLMN[.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505]def
  678.         /WhitePoint[.9505 1 1.089] def end] /ColorSpace defineresource}if def}ifelse
  679.     /nxsetrgbcolor{NXCalibratedRGBColorSpace setcolorspace setcolor}__NXbdef
  680.     /nxsetgray{dup dup nxsetrgbcolor}__NXbdef
  681.     /_NXCalibratedImage{exch{array astore dup length true}{false}ifelse
  682.         8 -1 roll{NXCalibratedRGBColorSpace setcolorspace}if
  683.         8 dict dup 9 1 roll begin /ImageType 1 def /MultipleDataSources exch def
  684.         currentcolorspace 0 get /Indexed eq{pop /Decode[0 2 6 index exp 1 sub]def}
  685.         {2 mul dup array /Decode exch def 1 sub 0 1 3 -1 roll{Decode exch dup 2 mod put}for}ifelse
  686.         /DataSource exch def /ImageMatrix exch def 
  687.         /BitsPerComponent exch def /Height exch def /Width exch def end image}__NXbdef
  688.     /setcmykcolor{
  689.         1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll
  690.         4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor}__NXbdef
  691.     /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef
  692.     /colorimage{2 copy 3 ne or{_NXDoImageOp}{4 index dup 8 ne exch 4 ne and{_NXDoImageOp}{
  693.         pop pop save 6 1 roll 12 dict begin/Proc exch def/Res 0 string def
  694.         /Alloc{2 index length mul 2 add dup 2 index load length gt{1.2 mul round cvi string def}{pop pop}ifelse}def
  695.         1 index 8 eq{/Unpack{.34 Alloc}def}{
  696.             /Wid 4 index 3 mul def exch pop 8 exch/Str1 0 string def/Lim Wid def
  697.             /Unpack{.67 Alloc/Str1 2 Alloc 0 exch Lim exch
  698.                 {dup -4 bitshift 17 mul Str1 exch 4 index exch put 15 and 17 mul Str1 exch 3 index 1 add exch put
  699.                 2 sub dup 0 le{0 lt Wid exch{exch 1 sub exch}if}if exch 2 add exch
  700.                 }forall/Lim exch def Str1 exch 0 exch getinterval
  701.             }def
  702.         }ifelse
  703.         /Ops[{.3 mul add 1}{.59 mul add 2}{.11 mul add round cvi Res exch 2 index exch put 1 add 0.0 0}]def/Val 0.0 def/Phase 0 def
  704.         {0 Val Phase Proc/Res Unpack{exch Ops exch get exec}forall/Phase exch def/Val exch def Res exch 0 exch getinterval}
  705.         image end restore}ifelse}ifelse
  706.     }__NXbdef
  707.     /nxsetrgbcolor{setrgbcolor}__NXbdef /nxsetgray{setgray}__NXbdef
  708.     /setpattern{pop .5 setgray}__NXbdef
  709.     /_NXCalibratedImage{dup 1 eq {pop pop image}{colorimage}ifelse pop}__NXbdef
  710. } ifelse
  711. /_NXSetCMYKOrRGB where{pop}{
  712.     mark{systemdict /currentwindow get exec}stopped
  713.     {{pop pop pop setcmykcolor}}{{nxsetrgbcolor pop pop pop pop}}ifelse /_NXSetCMYKOrRGB exch def cleartomark
  714. }ifelse
  715. %%EndProcSet
  716. gsave
  717.  /__NXbasematrix matrix currentmatrix def
  718. grestore
  719. %%EndProlog
  720. %%BeginSetup
  721. %%EndSetup
  722. 0 0 306 36 rectclip
  723. [1 0 0 -1 -45 81] concat
  724. 45 45 306 36 rectclip
  725. 0.666707 nxsetgray
  726. 208 46 16 16 rectfill
  727. gsave
  728. 207 45 18 18 rectclip
  729. 0 nxsetgray
  730. 1 setlinewidth
  731. 207.5 45.5 17 17 rectstroke
  732. grestore
  733. 0.666707 nxsetgray
  734. 226 46 16 16 rectfill
  735. gsave
  736. 225 45 18 18 rectclip
  737. 0 nxsetgray
  738. 1 setlinewidth
  739. 225.5 45.5 17 17 rectstroke
  740. grestore
  741. 0.666707 nxsetgray
  742. 244 46 16 16 rectfill
  743. gsave
  744. 243 45 18 18 rectclip
  745. 0 nxsetgray
  746. 1 setlinewidth
  747. 243.5 45.5 17 17 rectstroke
  748. grestore
  749. 0.666707 nxsetgray
  750. 262 46 16 16 rectfill
  751. gsave
  752. 261 45 18 18 rectclip
  753. 0 nxsetgray
  754. 1 setlinewidth
  755. 261.5 45.5 17 17 rectstroke
  756. grestore
  757. 0.666707 nxsetgray
  758. 280 46 16 16 rectfill
  759. gsave
  760. 279 45 18 18 rectclip
  761. 0 nxsetgray
  762. 1 setlinewidth
  763. 279.5 45.5 17 17 rectstroke
  764. grestore
  765. 0.666707 nxsetgray
  766. 298 46 16 16 rectfill
  767. gsave
  768. 297 45 18 18 rectclip
  769. 0 nxsetgray
  770. 1 setlinewidth
  771. 297.5 45.5 17 17 rectstroke
  772. grestore
  773. 0.666707 nxsetgray
  774. 316 46 16 16 rectfill
  775. gsave
  776. 315 45 18 18 rectclip
  777. 0 nxsetgray
  778. 1 setlinewidth
  779. 315.5 45.5 17 17 rectstroke
  780. grestore
  781. 0.666707 nxsetgray
  782. 334 46 16 16 rectfill
  783. gsave
  784. 333 45 18 18 rectclip
  785. 0 nxsetgray
  786. 1 setlinewidth
  787. 333.5 45.5 17 17 rectstroke
  788. grestore
  789. gsave
  790. /Helvetica-Bold findfont 10 scalefont [1 0 0 -1 0 0] makefont
  791. defineuserobject
  792. 123 execuserobject setfont
  793. 0 nxsetgray
  794. 123 execuserobject setfont
  795. 0 nxsetgray
  796. 226 74 moveto (Least Significant Byte) show
  797. grestore
  798. 1 nxsetgray
  799. 46 46 16 16 rectfill
  800. gsave
  801. 45 45 18 18 rectclip
  802. 0 nxsetgray
  803. 1 setlinewidth
  804. 45.5 45.5 17 17 rectstroke
  805. grestore
  806. 1 nxsetgray
  807. 64 46 16 16 rectfill
  808. gsave
  809. 63 45 18 18 rectclip
  810. 0 nxsetgray
  811. 1 setlinewidth
  812. 63.5 45.5 17 17 rectstroke
  813. grestore
  814. 1 nxsetgray
  815. 82 46 16 16 rectfill
  816. gsave
  817. 81 45 18 18 rectclip
  818. 0 nxsetgray
  819. 1 setlinewidth
  820. 81.5 45.5 17 17 rectstroke
  821. grestore
  822. 1 nxsetgray
  823. 100 46 16 16 rectfill
  824. gsave
  825. 99 45 18 18 rectclip
  826. 0 nxsetgray
  827. 1 setlinewidth
  828. 99.5 45.5 17 17 rectstroke
  829. grestore
  830. 0.666707 nxsetgray
  831. 118 46 16 16 rectfill
  832. gsave
  833. 117 45 18 18 rectclip
  834. 0 nxsetgray
  835. 1 setlinewidth
  836. 117.5 45.5 17 17 rectstroke
  837. grestore
  838. 0.666707 nxsetgray
  839. 136 46 16 16 rectfill
  840. gsave
  841. 135 45 18 18 rectclip
  842. 0 nxsetgray
  843. 1 setlinewidth
  844. 135.5 45.5 17 17 rectstroke
  845. grestore
  846. 0.666707 nxsetgray
  847. 154 46 16 16 rectfill
  848. gsave
  849. 153 45 18 18 rectclip
  850. 0 nxsetgray
  851. 1 setlinewidth
  852. 153.5 45.5 17 17 rectstroke
  853. grestore
  854. 0.666707 nxsetgray
  855. 172 46 16 16 rectfill
  856. gsave
  857. 171 45 18 18 rectclip
  858. 0 nxsetgray
  859. 1 setlinewidth
  860. 171.5 45.5 17 17 rectstroke
  861. grestore
  862. gsave
  863. 123 execuserobject setfont
  864. 0 nxsetgray
  865. 123 execuserobject setfont
  866. 0 nxsetgray
  867. 66 74 moveto (Most Significant Byte) show
  868. grestore
  869. %%Trailer
  870. %%DocumentFonts: Helvetica-Bold
  871. %!PS-Adobe-2.0 EPSF-2.0
  872. %%Title: 
  873. %%Creator: Diagram
  874. %%CreationDate: Tue Jan 24 01:32:05 1995
  875. %%For: varun
  876. %%DocumentFonts: (atend)
  877. %%Pages: 0 0
  878. %%BoundingBox: 0 0 306 36
  879. %%NXNextStepVersion: 3.0
  880. %%EndComments
  881. %%BeginProcSet: /usr/lib/NextStep/printPackage.ps 3.0
  882. % NeXT Printing Package
  883. % Version: 3.1
  884. % Copyright: 1988, NeXT, Inc.
  885. /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def
  886. /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def
  887. /UserObjects 10 array __NXdef
  888. /defineuserobject{
  889.     exch dup 1 add dup UserObjects length gt{
  890.         array dup 0 UserObjects putinterval
  891.         /UserObjects exch def
  892.     }{pop}ifelse UserObjects exch 3 -1 roll put
  893. }__NXbdef
  894. /undefineuserobject{UserObjects exch null put}__NXbdef
  895. /execuserobject{UserObjects exch get exec}__NXbdef
  896. /__NXRectPath{4 2 roll moveto 1 index 0 rlineto
  897. 0 exch rlineto neg 0 rlineto closepath}__NXbdef
  898. /__NXProcessRectArgs{
  899.     1 index type /arraytype eq{
  900.         exch 0 4 2 index length 1 sub{
  901.             dup 3 add 1 exch{1 index exch get exch}for
  902.             5 1 roll 5 index exec
  903.         }for pop pop
  904.     }{exec}ifelse
  905. }__NXbdef
  906. /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef
  907. /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef
  908. /rectstroke{
  909.     gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{
  910.         {gsave __NXRectPath null concat stroke grestore}
  911.         dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs
  912.     }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore
  913. }__NXbdef
  914. /_NXLevel2 systemdict /languagelevel known {languagelevel 2 ge}{false}ifelse __NXdef
  915. /xyshow{
  916.     0 1 3 index length 1 sub{
  917.         currentpoint 4 index 3 index 1 getinterval show
  918.         3 index 3 index 2 mul 1 add get add exch
  919.         3 index    3 index 2 mul get add exch moveto pop
  920.     }for pop pop
  921. }__NXbdef
  922. /xshow{
  923.     0 1 3 index length 1 sub{
  924.         currentpoint 4 index 3 index 1 getinterval show
  925.         exch 3 index 3 index get add exch moveto pop
  926.     }for pop pop
  927. }__NXbdef
  928. /yshow{
  929.     0 1 3 index length 1 sub{
  930.         currentpoint 4 index 3 index 1 getinterval show
  931.         3 index 3 index get add moveto pop
  932.     }for pop pop
  933. }__NXbdef
  934. /arct{arcto pop pop pop pop}__NXbdef
  935. /setbbox{pop pop pop pop}__NXbdef
  936. /ucache{}__NXbdef
  937. /ucachestatus{mark 0 0 0 0 0}__NXbdef
  938. /setucacheparams{cleartomark}__NXbdef
  939. /uappend{systemdict begin cvx exec end}__NXbdef
  940. /ueofill{gsave newpath uappend eofill grestore}__NXbdef
  941. /ufill{gsave newpath uappend fill grestore}__NXbdef
  942. /ustroke{
  943.     gsave newpath dup length 6 eq
  944.     {exch uappend concat}{uappend}ifelse
  945.     stroke grestore
  946. }__NXbdef
  947. /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse
  948. /ustrokepath{
  949.     newpath dup length 6 eq{
  950.         exch uappend __NXustrokepathMatrix currentmatrix exch concat
  951.         strokepath setmatrix
  952.     }{uappend strokepath}ifelse
  953. } __NXbdef
  954. /upath{
  955.     [exch {/ucache cvx}if pathbbox /setbbox cvx
  956.      {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx
  957. } __NXbdef
  958. /setstrokeadjust{pop}__NXbdef
  959. /currentstrokeadjust{false}__NXbdef
  960. /selectfont{exch findfont exch
  961. dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef
  962. /_NXCombineArrays{
  963.     counttomark dup 2 add index dup length 3 -1 roll {
  964.         2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch
  965.     }repeat pop pop pop
  966. }__NXbdef
  967. /flushgraphics{}def
  968. /setwindowtype{pop pop}def
  969. /currentwindowtype{pop 0}def
  970. /setalpha{pop}def
  971. /currentalpha{1.0}def
  972. /hidecursor{}def
  973. /obscurecursor{}def
  974. /revealcursor{}def
  975. /setcursor{4 {pop}repeat}bind def
  976. /showcursor{}def
  977. /NextStepEncoding where not{
  978. /NextStepEncoding StandardEncoding 256 array copy def
  979. 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave
  980. /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
  981. /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute
  982. /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright
  983. 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior
  984. 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave
  985. /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute
  986. /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth
  987. /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute
  988. /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis]
  989. {dup type /nametype eq
  990.  {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse
  991. }forall pop
  992. /NextStepEncoding NextStepEncoding readonly def
  993. /_NXfstr 128 string dup 0 (_NX) putinterval def
  994. /_NXfindfont /findfont load def
  995. /findfont{
  996.  % Because we can never let NextStepEncoding get into
  997.  % SharedFontDirectory, we cannot reencode a font to NextStepEncoding
  998.  % if we are in shared mode.  So if currentshared is true,
  999.  % we call the normal findfont and return that
  1000.  /currentshared where {pop currentshared} {false} ifelse
  1001.  {_NXfindfont}
  1002.  {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll
  1003.   getinterval cvn exch FontDirectory 2 index known 
  1004.   {pop FontDirectory exch get}
  1005.   {_NXfindfont dup /Encoding get StandardEncoding eq
  1006.    {    dup length dict exch
  1007.     {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall
  1008.      dup /Encoding NextStepEncoding put definefont
  1009.     }{exch pop} ifelse
  1010.    }ifelse
  1011.  }ifelse
  1012. }bind def
  1013. }{pop}ifelse
  1014. /_NXImageString {/__NXImageString where{pop}{/__NXImageString 4000 string __NXdef}ifelse __NXImageString}__NXbdef
  1015. /_NXDoImageOp{
  1016.     3 dict begin /parr 5 array def 1 index{dup}{1}ifelse /chans exch def
  1017.     chans 2 add 2 roll parr 0 chans getinterval astore pop
  1018.     5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse
  1019.     4 index mul /totbytes exch def pop exch pop
  1020.     gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore
  1021.     {0 1 chans 1 sub{parr exch get exec length totbytes exch sub /totbytes exch def}for totbytes 0 le{exit}if}loop end
  1022. }__NXbdef
  1023. /alphaimage{1 add _NXDoImageOp}def
  1024. _NXLevel2{ 
  1025.     /NXCalibratedRGBColorSpace where{pop}{
  1026.         /NXCalibratedRGBColorSpace
  1027.         {mark /NXCalibratedRGB /ColorSpace findresource exch pop}stopped
  1028.         {cleartomark /NXCalibratedRGB[/CIEBasedABC 2 dict dup begin 
  1029.         /MatrixLMN[.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505]def
  1030.         /WhitePoint[.9505 1 1.089] def end] /ColorSpace defineresource}if def}ifelse
  1031.     /nxsetrgbcolor{NXCalibratedRGBColorSpace setcolorspace setcolor}__NXbdef
  1032.     /nxsetgray{dup dup nxsetrgbcolor}__NXbdef
  1033.     /_NXCalibratedImage{exch{array astore dup length true}{false}ifelse
  1034.         8 -1 roll{NXCalibratedRGBColorSpace setcolorspace}if
  1035.         8 dict dup 9 1 roll begin /ImageType 1 def /MultipleDataSources exch def
  1036.         currentcolorspace 0 get /Indexed eq{pop /Decode[0 2 6 index exp 1 sub]def}
  1037.         {2 mul dup array /Decode exch def 1 sub 0 1 3 -1 roll{Decode exch dup 2 mod put}for}ifelse
  1038.         /DataSource exch def /ImageMatrix exch def 
  1039.         /BitsPerComponent exch def /Height exch def /Width exch def end image}__NXbdef
  1040.     /setcmykcolor{
  1041.         1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll
  1042.         4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor}__NXbdef
  1043.     /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef
  1044.     /colorimage{2 copy 3 ne or{_NXDoImageOp}{4 index dup 8 ne exch 4 ne and{_NXDoImageOp}{
  1045.         pop pop save 6 1 roll 12 dict begin/Proc exch def/Res 0 string def
  1046.         /Alloc{2 index length mul 2 add dup 2 index load length gt{1.2 mul round cvi string def}{pop pop}ifelse}def
  1047.         1 index 8 eq{/Unpack{.34 Alloc}def}{
  1048.             /Wid 4 index 3 mul def exch pop 8 exch/Str1 0 string def/Lim Wid def
  1049.             /Unpack{.67 Alloc/Str1 2 Alloc 0 exch Lim exch
  1050.                 {dup -4 bitshift 17 mul Str1 exch 4 index exch put 15 and 17 mul Str1 exch 3 index 1 add exch put
  1051.                 2 sub dup 0 le{0 lt Wid exch{exch 1 sub exch}if}if exch 2 add exch
  1052.                 }forall/Lim exch def Str1 exch 0 exch getinterval
  1053.             }def
  1054.         }ifelse
  1055.         /Ops[{.3 mul add 1}{.59 mul add 2}{.11 mul add round cvi Res exch 2 index exch put 1 add 0.0 0}]def/Val 0.0 def/Phase 0 def
  1056.         {0 Val Phase Proc/Res Unpack{exch Ops exch get exec}forall/Phase exch def/Val exch def Res exch 0 exch getinterval}
  1057.         image end restore}ifelse}ifelse
  1058.     }__NXbdef
  1059.     /nxsetrgbcolor{setrgbcolor}__NXbdef /nxsetgray{setgray}__NXbdef
  1060.     /setpattern{pop .5 setgray}__NXbdef
  1061.     /_NXCalibratedImage{dup 1 eq {pop pop image}{colorimage}ifelse pop}__NXbdef
  1062. } ifelse
  1063. /_NXSetCMYKOrRGB where{pop}{
  1064.     mark{systemdict /currentwindow get exec}stopped
  1065.     {{pop pop pop setcmykcolor}}{{nxsetrgbcolor pop pop pop pop}}ifelse /_NXSetCMYKOrRGB exch def cleartomark
  1066. }ifelse
  1067. %%EndProcSet
  1068. gsave
  1069.  /__NXbasematrix matrix currentmatrix def
  1070. grestore
  1071. %%EndProlog
  1072. %%BeginSetup
  1073. %%EndSetup
  1074. 0 0 306 36 rectclip
  1075. [1 0 0 -1 -45 126] concat
  1076. 45 90 306 36 rectclip
  1077. 0.666707 nxsetgray
  1078. 46 91 16 16 rectfill
  1079. gsave
  1080. 45 90 18 18 rectclip
  1081. 0 nxsetgray
  1082. 1 setlinewidth
  1083. 45.5 90.5 17 17 rectstroke
  1084. grestore
  1085. 0.666707 nxsetgray
  1086. 64 91 16 16 rectfill
  1087. gsave
  1088. 63 90 18 18 rectclip
  1089. 0 nxsetgray
  1090. 1 setlinewidth
  1091. 63.5 90.5 17 17 rectstroke
  1092. grestore
  1093. 0.666707 nxsetgray
  1094. 82 91 16 16 rectfill
  1095. gsave
  1096. 81 90 18 18 rectclip
  1097. 0 nxsetgray
  1098. 1 setlinewidth
  1099. 81.5 90.5 17 17 rectstroke
  1100. grestore
  1101. 0.666707 nxsetgray
  1102. 100 91 16 16 rectfill
  1103. gsave
  1104. 99 90 18 18 rectclip
  1105. 0 nxsetgray
  1106. 1 setlinewidth
  1107. 99.5 90.5 17 17 rectstroke
  1108. grestore
  1109. 0.666707 nxsetgray
  1110. 118 91 16 16 rectfill
  1111. gsave
  1112. 117 90 18 18 rectclip
  1113. 0 nxsetgray
  1114. 1 setlinewidth
  1115. 117.5 90.5 17 17 rectstroke
  1116. grestore
  1117. 0.666707 nxsetgray
  1118. 136 91 16 16 rectfill
  1119. gsave
  1120. 135 90 18 18 rectclip
  1121. 0 nxsetgray
  1122. 1 setlinewidth
  1123. 135.5 90.5 17 17 rectstroke
  1124. grestore
  1125. 0.666707 nxsetgray
  1126. 154 91 16 16 rectfill
  1127. gsave
  1128. 153 90 18 18 rectclip
  1129. 0 nxsetgray
  1130. 1 setlinewidth
  1131. 153.5 90.5 17 17 rectstroke
  1132. grestore
  1133. 0.666707 nxsetgray
  1134. 172 91 16 16 rectfill
  1135. gsave
  1136. 171 90 18 18 rectclip
  1137. 0 nxsetgray
  1138. 1 setlinewidth
  1139. 171.5 90.5 17 17 rectstroke
  1140. grestore
  1141. gsave
  1142. /Helvetica-Bold findfont 10 scalefont [1 0 0 -1 0 0] makefont
  1143. defineuserobject
  1144. 123 execuserobject setfont
  1145. 0 nxsetgray
  1146. 123 execuserobject setfont
  1147. 0 nxsetgray
  1148. 64 119 moveto (Least Significant Byte) show
  1149. grestore
  1150. 1 nxsetgray
  1151. 208 91 16 16 rectfill
  1152. gsave
  1153. 207 90 18 18 rectclip
  1154. 0 nxsetgray
  1155. 1 setlinewidth
  1156. 207.5 90.5 17 17 rectstroke
  1157. grestore
  1158. 1 nxsetgray
  1159. 226 91 16 16 rectfill
  1160. gsave
  1161. 225 90 18 18 rectclip
  1162. 0 nxsetgray
  1163. 1 setlinewidth
  1164. 225.5 90.5 17 17 rectstroke
  1165. grestore
  1166. 1 nxsetgray
  1167. 244 91 16 16 rectfill
  1168. gsave
  1169. 243 90 18 18 rectclip
  1170. 0 nxsetgray
  1171. 1 setlinewidth
  1172. 243.5 90.5 17 17 rectstroke
  1173. grestore
  1174. 1 nxsetgray
  1175. 262 91 16 16 rectfill
  1176. gsave
  1177. 261 90 18 18 rectclip
  1178. 0 nxsetgray
  1179. 1 setlinewidth
  1180. 261.5 90.5 17 17 rectstroke
  1181. grestore
  1182. 0.666707 nxsetgray
  1183. 280 91 16 16 rectfill
  1184. gsave
  1185. 279 90 18 18 rectclip
  1186. 0 nxsetgray
  1187. 1 setlinewidth
  1188. 279.5 90.5 17 17 rectstroke
  1189. grestore
  1190. 0.666707 nxsetgray
  1191. 298 91 16 16 rectfill
  1192. gsave
  1193. 297 90 18 18 rectclip
  1194. 0 nxsetgray
  1195. 1 setlinewidth
  1196. 297.5 90.5 17 17 rectstroke
  1197. grestore
  1198. 0.666707 nxsetgray
  1199. 316 91 16 16 rectfill
  1200. gsave
  1201. 315 90 18 18 rectclip
  1202. 0 nxsetgray
  1203. 1 setlinewidth
  1204. 315.5 90.5 17 17 rectstroke
  1205. grestore
  1206. 0.666707 nxsetgray
  1207. 334 91 16 16 rectfill
  1208. gsave
  1209. 333 90 18 18 rectclip
  1210. 0 nxsetgray
  1211. 1 setlinewidth
  1212. 333.5 90.5 17 17 rectstroke
  1213. grestore
  1214. gsave
  1215. 123 execuserobject setfont
  1216. 0 nxsetgray
  1217. 123 execuserobject setfont
  1218. 0 nxsetgray
  1219. 228 119 moveto (Most Significant Byte) show
  1220. grestore
  1221. %%Trailer
  1222. %%DocumentFonts: Helvetica-Bold
  1223. NXCursor
  1224. NXImage
  1225. NXibeam
  1226. Scroller
  1227. _doScroller:
  1228. @@@ffs
  1229. Button
  1230. ButtonCell
  1231. ActionCell
  1232.     Helvetica
  1233. TextFieldCell
  1234. By Varun Mitroo, MD
  1235. Version 1.03
  1236. Title
  1237. ImageConverter
  1238. Helvetica-Bold$
  1239. WindowTemplate
  1240. iiii***@s@
  1241. Panel
  1242.     HelpPanel
  1243. File's Owner
  1244. IBOutletConnector
  1245. IBConnector
  1246.     helpPanel
  1247.